home *** CD-ROM | disk | FTP | other *** search
- *****Listing 4*****
-
- // LIST.HPP - linked list interface
-
- #ifndef _LIST_HPP
- #define _LIST_HPP
-
- class LIST
- {
- struct listelem
- {
- struct listelem *prev, *next;
- void *data;
- unsigned int size;
- };
- struct listelem *head, *curr, *tail;
- public:
- LIST();
- ~LIST();
- void *get_head(unsigned int &sz);
- void *get_curr(unsigned int &sz);
- void *get_tail(unsigned int &sz);
- void *get_prev(unsigned int &sz);
- void *get_next(unsigned int &sz);
- void add_before(void *vptr, unsigned int sz);
- void add_after(void *vptr, unsigned int sz);
- void add_head(void *vptr, unsigned int sz);
- void add_tail(void *vptr, unsigned int sz);
- void delete_curr(void);
- virtual void delete_data(struct listelem *lptr);
- virtual void create_data(struct listelem *lptr);
- virtual void copy_data(struct listelem *lptr, void *from);
- };
-
- #endif // ifndef _LIST_HPP
-